<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HoC.Common" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HoC.Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:8010/HoCCacheService?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System.Net" />
  <xs:import schemaLocation="http://localhost:8010/HoCCacheService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ClientCacheItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="TypeAsString" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:base64Binary" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ClientCacheItem" nillable="true" type="tns:ClientCacheItem" />
  <xs:complexType name="Node">
    <xs:sequence>
      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System.Net" name="_x003C_EndPoint_x003E_k__BackingField" nillable="true" type="q1:IPAddress" />
      <xs:element name="_x003C_HeartBeatLastHeardAt_x003E_k__BackingField" type="xs:dateTime" />
      <xs:element name="_x003C_Name_x003E_k__BackingField" nillable="true" type="xs:string" />
      <xs:element name="_x003C_NodeState_x003E_k__BackingField" type="tns:NodeState" />
      <xs:element name="_x003C_ServicePort_x003E_k__BackingField" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Node" nillable="true" type="tns:Node" />
  <xs:simpleType name="NodeState">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Active">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ReceivingFromOtherNode">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="WaitingForNeighbourNode">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">3</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="NodeState" nillable="true" type="tns:NodeState" />
  <xs:complexType name="ServerCacheItem">
    <xs:sequence>
      <xs:element name="_value" nillable="true" type="tns:ClientCacheItem" />
      <xs:element name="_x003C_AccessCount_x003E_k__BackingField" type="xs:int" />
      <xs:element name="_x003C_Hash_x003E_k__BackingField" nillable="true" type="xs:string" />
      <xs:element name="_x003C_ItemState_x003E_k__BackingField" type="tns:CacheItemState" />
      <xs:element name="_x003C_LastAccessedTime_x003E_k__BackingField" type="xs:dateTime" />
      <xs:element name="_x003C_RelocatedTo_x003E_k__BackingField" nillable="true" type="tns:Node" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ServerCacheItem" nillable="true" type="tns:ServerCacheItem" />
  <xs:simpleType name="CacheItemState">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="Moved" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="CacheItemState" nillable="true" type="tns:CacheItemState" />
  <xs:complexType name="CacheHealth">
    <xs:sequence>
      <xs:element name="_x003C_EvictionLastAt_x003E_k__BackingField" type="xs:dateTime" />
      <xs:element name="_x003C_EvictionStrategy_x003E_k__BackingField" nillable="true" type="xs:string" />
      <xs:element name="_x003C_FreeRAM_x003E_k__BackingField" type="xs:long" />
      <xs:element name="_x003C_ObjectCount_x003E_k__BackingField" type="xs:int" />
      <xs:element name="_x003C_ProcessCPUUsage_x003E_k__BackingField" type="ser:duration" />
      <xs:element name="_x003C_ProcessWorkingSet_x003E_k__BackingField" type="xs:long" />
      <xs:element name="_x003C_TotalObjectSize_x003E_k__BackingField" type="xs:long" />
      <xs:element name="_x003C_TotalRAM_x003E_k__BackingField" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CacheHealth" nillable="true" type="tns:CacheHealth" />
</xs:schema>